In conventional electronic designs, the integrated circuits, the IC packaging, and the printed circuit boards are often developed and designed independently. Modern electronic designs often include integrated circuits (ICs), their respective package designs, and a printed circuit board (PCB) incorporating multiple packaged integrated circuits to be developed in a multi-fabric environment. That is, one designer may need or desire to design in the context of the others. For example, the integrated circuit designer may need or desire to implement the integrated circuit design in view of the contexts of the packaging fabric as well as the printed circuit board fabric.
Similarly, a printed circuit board designer may often desire to implement or tune the printed circuit design in the context of the packaging design fabric and/or the integrated circuit design fabric. As a practical example, consider the situation where an advanced package is to be incorporated onto a PCB for a consumer product that is driven by cost considerations and performance. In conventional approaches, while device placement and assignment decisions made solely in the context of the chip may yield the ideal chip-level design, these device placement and assignment decisions could nevertheless result in missing the cost or performance goals for the end consumer product. In these convention approaches, the chip-level placement usually dictates, for example, the bump and ball assignments in the downstream fabrics that may result in excessive coupling in, for example, the interfaces and a complex routing scheme that requires additional layers in the package and/or PCB substrates.
Therefore, there exists a need for a multi-fabric design environment that provides a coherent framework to integrate the integrated circuit design fabric, the packaging design fabric, and the printed circuit board fabric in a seamless manner.